package com.attendance.www.hr.entitys;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class SystemConfigureExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SystemConfigureExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andSystemConfigureIdIsNull() {
            addCriterion("system_configure_id is null");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdIsNotNull() {
            addCriterion("system_configure_id is not null");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdEqualTo(Integer value) {
            addCriterion("system_configure_id =", value, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdNotEqualTo(Integer value) {
            addCriterion("system_configure_id <>", value, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdGreaterThan(Integer value) {
            addCriterion("system_configure_id >", value, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("system_configure_id >=", value, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdLessThan(Integer value) {
            addCriterion("system_configure_id <", value, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdLessThanOrEqualTo(Integer value) {
            addCriterion("system_configure_id <=", value, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdIn(List<Integer> values) {
            addCriterion("system_configure_id in", values, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdNotIn(List<Integer> values) {
            addCriterion("system_configure_id not in", values, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdBetween(Integer value1, Integer value2) {
            addCriterion("system_configure_id between", value1, value2, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andSystemConfigureIdNotBetween(Integer value1, Integer value2) {
            addCriterion("system_configure_id not between", value1, value2, "systemConfigureId");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianIsNull() {
            addCriterion("escort_leave_dalian is null");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianIsNotNull() {
            addCriterion("escort_leave_dalian is not null");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianEqualTo(Integer value) {
            addCriterion("escort_leave_dalian =", value, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianNotEqualTo(Integer value) {
            addCriterion("escort_leave_dalian <>", value, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianGreaterThan(Integer value) {
            addCriterion("escort_leave_dalian >", value, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianGreaterThanOrEqualTo(Integer value) {
            addCriterion("escort_leave_dalian >=", value, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianLessThan(Integer value) {
            addCriterion("escort_leave_dalian <", value, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianLessThanOrEqualTo(Integer value) {
            addCriterion("escort_leave_dalian <=", value, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianIn(List<Integer> values) {
            addCriterion("escort_leave_dalian in", values, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianNotIn(List<Integer> values) {
            addCriterion("escort_leave_dalian not in", values, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianBetween(Integer value1, Integer value2) {
            addCriterion("escort_leave_dalian between", value1, value2, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveDalianNotBetween(Integer value1, Integer value2) {
            addCriterion("escort_leave_dalian not between", value1, value2, "escortLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingIsNull() {
            addCriterion("escort_leave_beijing is null");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingIsNotNull() {
            addCriterion("escort_leave_beijing is not null");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingEqualTo(Integer value) {
            addCriterion("escort_leave_beijing =", value, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingNotEqualTo(Integer value) {
            addCriterion("escort_leave_beijing <>", value, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingGreaterThan(Integer value) {
            addCriterion("escort_leave_beijing >", value, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingGreaterThanOrEqualTo(Integer value) {
            addCriterion("escort_leave_beijing >=", value, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingLessThan(Integer value) {
            addCriterion("escort_leave_beijing <", value, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingLessThanOrEqualTo(Integer value) {
            addCriterion("escort_leave_beijing <=", value, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingIn(List<Integer> values) {
            addCriterion("escort_leave_beijing in", values, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingNotIn(List<Integer> values) {
            addCriterion("escort_leave_beijing not in", values, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingBetween(Integer value1, Integer value2) {
            addCriterion("escort_leave_beijing between", value1, value2, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveBeijingNotBetween(Integer value1, Integer value2) {
            addCriterion("escort_leave_beijing not between", value1, value2, "escortLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiIsNull() {
            addCriterion("escort_leave_shanghai is null");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiIsNotNull() {
            addCriterion("escort_leave_shanghai is not null");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiEqualTo(Integer value) {
            addCriterion("escort_leave_shanghai =", value, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiNotEqualTo(Integer value) {
            addCriterion("escort_leave_shanghai <>", value, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiGreaterThan(Integer value) {
            addCriterion("escort_leave_shanghai >", value, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiGreaterThanOrEqualTo(Integer value) {
            addCriterion("escort_leave_shanghai >=", value, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiLessThan(Integer value) {
            addCriterion("escort_leave_shanghai <", value, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiLessThanOrEqualTo(Integer value) {
            addCriterion("escort_leave_shanghai <=", value, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiIn(List<Integer> values) {
            addCriterion("escort_leave_shanghai in", values, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiNotIn(List<Integer> values) {
            addCriterion("escort_leave_shanghai not in", values, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiBetween(Integer value1, Integer value2) {
            addCriterion("escort_leave_shanghai between", value1, value2, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andEscortLeaveShanghaiNotBetween(Integer value1, Integer value2) {
            addCriterion("escort_leave_shanghai not between", value1, value2, "escortLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianIsNull() {
            addCriterion("maternity_leave_dalian is null");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianIsNotNull() {
            addCriterion("maternity_leave_dalian is not null");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianEqualTo(Integer value) {
            addCriterion("maternity_leave_dalian =", value, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianNotEqualTo(Integer value) {
            addCriterion("maternity_leave_dalian <>", value, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianGreaterThan(Integer value) {
            addCriterion("maternity_leave_dalian >", value, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianGreaterThanOrEqualTo(Integer value) {
            addCriterion("maternity_leave_dalian >=", value, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianLessThan(Integer value) {
            addCriterion("maternity_leave_dalian <", value, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianLessThanOrEqualTo(Integer value) {
            addCriterion("maternity_leave_dalian <=", value, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianIn(List<Integer> values) {
            addCriterion("maternity_leave_dalian in", values, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianNotIn(List<Integer> values) {
            addCriterion("maternity_leave_dalian not in", values, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianBetween(Integer value1, Integer value2) {
            addCriterion("maternity_leave_dalian between", value1, value2, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveDalianNotBetween(Integer value1, Integer value2) {
            addCriterion("maternity_leave_dalian not between", value1, value2, "maternityLeaveDalian");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingIsNull() {
            addCriterion("maternity_leave_beijing is null");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingIsNotNull() {
            addCriterion("maternity_leave_beijing is not null");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingEqualTo(Integer value) {
            addCriterion("maternity_leave_beijing =", value, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingNotEqualTo(Integer value) {
            addCriterion("maternity_leave_beijing <>", value, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingGreaterThan(Integer value) {
            addCriterion("maternity_leave_beijing >", value, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingGreaterThanOrEqualTo(Integer value) {
            addCriterion("maternity_leave_beijing >=", value, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingLessThan(Integer value) {
            addCriterion("maternity_leave_beijing <", value, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingLessThanOrEqualTo(Integer value) {
            addCriterion("maternity_leave_beijing <=", value, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingIn(List<Integer> values) {
            addCriterion("maternity_leave_beijing in", values, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingNotIn(List<Integer> values) {
            addCriterion("maternity_leave_beijing not in", values, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingBetween(Integer value1, Integer value2) {
            addCriterion("maternity_leave_beijing between", value1, value2, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveBeijingNotBetween(Integer value1, Integer value2) {
            addCriterion("maternity_leave_beijing not between", value1, value2, "maternityLeaveBeijing");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiIsNull() {
            addCriterion("maternity_leave_shanghai is null");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiIsNotNull() {
            addCriterion("maternity_leave_shanghai is not null");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiEqualTo(Integer value) {
            addCriterion("maternity_leave_shanghai =", value, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiNotEqualTo(Integer value) {
            addCriterion("maternity_leave_shanghai <>", value, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiGreaterThan(Integer value) {
            addCriterion("maternity_leave_shanghai >", value, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiGreaterThanOrEqualTo(Integer value) {
            addCriterion("maternity_leave_shanghai >=", value, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiLessThan(Integer value) {
            addCriterion("maternity_leave_shanghai <", value, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiLessThanOrEqualTo(Integer value) {
            addCriterion("maternity_leave_shanghai <=", value, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiIn(List<Integer> values) {
            addCriterion("maternity_leave_shanghai in", values, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiNotIn(List<Integer> values) {
            addCriterion("maternity_leave_shanghai not in", values, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiBetween(Integer value1, Integer value2) {
            addCriterion("maternity_leave_shanghai between", value1, value2, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andMaternityLeaveShanghaiNotBetween(Integer value1, Integer value2) {
            addCriterion("maternity_leave_shanghai not between", value1, value2, "maternityLeaveShanghai");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveIsNull() {
            addCriterion("annual_leave_five is null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveIsNotNull() {
            addCriterion("annual_leave_five is not null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveEqualTo(Integer value) {
            addCriterion("annual_leave_five =", value, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveNotEqualTo(Integer value) {
            addCriterion("annual_leave_five <>", value, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveGreaterThan(Integer value) {
            addCriterion("annual_leave_five >", value, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveGreaterThanOrEqualTo(Integer value) {
            addCriterion("annual_leave_five >=", value, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveLessThan(Integer value) {
            addCriterion("annual_leave_five <", value, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveLessThanOrEqualTo(Integer value) {
            addCriterion("annual_leave_five <=", value, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveIn(List<Integer> values) {
            addCriterion("annual_leave_five in", values, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveNotIn(List<Integer> values) {
            addCriterion("annual_leave_five not in", values, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveBetween(Integer value1, Integer value2) {
            addCriterion("annual_leave_five between", value1, value2, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFiveNotBetween(Integer value1, Integer value2) {
            addCriterion("annual_leave_five not between", value1, value2, "annualLeaveFive");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenIsNull() {
            addCriterion("annual_leave_ten is null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenIsNotNull() {
            addCriterion("annual_leave_ten is not null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenEqualTo(Integer value) {
            addCriterion("annual_leave_ten =", value, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenNotEqualTo(Integer value) {
            addCriterion("annual_leave_ten <>", value, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenGreaterThan(Integer value) {
            addCriterion("annual_leave_ten >", value, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenGreaterThanOrEqualTo(Integer value) {
            addCriterion("annual_leave_ten >=", value, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenLessThan(Integer value) {
            addCriterion("annual_leave_ten <", value, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenLessThanOrEqualTo(Integer value) {
            addCriterion("annual_leave_ten <=", value, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenIn(List<Integer> values) {
            addCriterion("annual_leave_ten in", values, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenNotIn(List<Integer> values) {
            addCriterion("annual_leave_ten not in", values, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenBetween(Integer value1, Integer value2) {
            addCriterion("annual_leave_ten between", value1, value2, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveTenNotBetween(Integer value1, Integer value2) {
            addCriterion("annual_leave_ten not between", value1, value2, "annualLeaveTen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenIsNull() {
            addCriterion("annual_leave_fifteen is null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenIsNotNull() {
            addCriterion("annual_leave_fifteen is not null");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenEqualTo(Integer value) {
            addCriterion("annual_leave_fifteen =", value, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenNotEqualTo(Integer value) {
            addCriterion("annual_leave_fifteen <>", value, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenGreaterThan(Integer value) {
            addCriterion("annual_leave_fifteen >", value, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenGreaterThanOrEqualTo(Integer value) {
            addCriterion("annual_leave_fifteen >=", value, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenLessThan(Integer value) {
            addCriterion("annual_leave_fifteen <", value, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenLessThanOrEqualTo(Integer value) {
            addCriterion("annual_leave_fifteen <=", value, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenIn(List<Integer> values) {
            addCriterion("annual_leave_fifteen in", values, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenNotIn(List<Integer> values) {
            addCriterion("annual_leave_fifteen not in", values, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenBetween(Integer value1, Integer value2) {
            addCriterion("annual_leave_fifteen between", value1, value2, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andAnnualLeaveFifteenNotBetween(Integer value1, Integer value2) {
            addCriterion("annual_leave_fifteen not between", value1, value2, "annualLeaveFifteen");
            return (Criteria) this;
        }

        public Criteria andClosedYearIsNull() {
            addCriterion("closed_year is null");
            return (Criteria) this;
        }

        public Criteria andClosedYearIsNotNull() {
            addCriterion("closed_year is not null");
            return (Criteria) this;
        }

        public Criteria andClosedYearEqualTo(Integer value) {
            addCriterion("closed_year =", value, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearNotEqualTo(Integer value) {
            addCriterion("closed_year <>", value, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearGreaterThan(Integer value) {
            addCriterion("closed_year >", value, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearGreaterThanOrEqualTo(Integer value) {
            addCriterion("closed_year >=", value, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearLessThan(Integer value) {
            addCriterion("closed_year <", value, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearLessThanOrEqualTo(Integer value) {
            addCriterion("closed_year <=", value, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearIn(List<Integer> values) {
            addCriterion("closed_year in", values, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearNotIn(List<Integer> values) {
            addCriterion("closed_year not in", values, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearBetween(Integer value1, Integer value2) {
            addCriterion("closed_year between", value1, value2, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedYearNotBetween(Integer value1, Integer value2) {
            addCriterion("closed_year not between", value1, value2, "closedYear");
            return (Criteria) this;
        }

        public Criteria andClosedMonthIsNull() {
            addCriterion("closed_month is null");
            return (Criteria) this;
        }

        public Criteria andClosedMonthIsNotNull() {
            addCriterion("closed_month is not null");
            return (Criteria) this;
        }

        public Criteria andClosedMonthEqualTo(Integer value) {
            addCriterion("closed_month =", value, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthNotEqualTo(Integer value) {
            addCriterion("closed_month <>", value, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthGreaterThan(Integer value) {
            addCriterion("closed_month >", value, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthGreaterThanOrEqualTo(Integer value) {
            addCriterion("closed_month >=", value, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthLessThan(Integer value) {
            addCriterion("closed_month <", value, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthLessThanOrEqualTo(Integer value) {
            addCriterion("closed_month <=", value, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthIn(List<Integer> values) {
            addCriterion("closed_month in", values, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthNotIn(List<Integer> values) {
            addCriterion("closed_month not in", values, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthBetween(Integer value1, Integer value2) {
            addCriterion("closed_month between", value1, value2, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andClosedMonthNotBetween(Integer value1, Integer value2) {
            addCriterion("closed_month not between", value1, value2, "closedMonth");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateIsNull() {
            addCriterion("effective_date is null");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateIsNotNull() {
            addCriterion("effective_date is not null");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateEqualTo(Date value) {
            addCriterionForJDBCDate("effective_date =", value, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("effective_date <>", value, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateGreaterThan(Date value) {
            addCriterionForJDBCDate("effective_date >", value, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("effective_date >=", value, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateLessThan(Date value) {
            addCriterionForJDBCDate("effective_date <", value, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("effective_date <=", value, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateIn(List<Date> values) {
            addCriterionForJDBCDate("effective_date in", values, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("effective_date not in", values, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("effective_date between", value1, value2, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("effective_date not between", value1, value2, "effectiveDate");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeIsNull() {
            addCriterion("over_before_time is null");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeIsNotNull() {
            addCriterion("over_before_time is not null");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeEqualTo(String value) {
            addCriterion("over_before_time =", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeNotEqualTo(String value) {
            addCriterion("over_before_time <>", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeGreaterThan(String value) {
            addCriterion("over_before_time >", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeGreaterThanOrEqualTo(String value) {
            addCriterion("over_before_time >=", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeLessThan(String value) {
            addCriterion("over_before_time <", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeLessThanOrEqualTo(String value) {
            addCriterion("over_before_time <=", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeLike(String value) {
            addCriterion("over_before_time like", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeNotLike(String value) {
            addCriterion("over_before_time not like", value, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeIn(List<String> values) {
            addCriterion("over_before_time in", values, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeNotIn(List<String> values) {
            addCriterion("over_before_time not in", values, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeBetween(String value1, String value2) {
            addCriterion("over_before_time between", value1, value2, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverBeforeTimeNotBetween(String value1, String value2) {
            addCriterion("over_before_time not between", value1, value2, "overBeforeTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeIsNull() {
            addCriterion("over_after_time is null");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeIsNotNull() {
            addCriterion("over_after_time is not null");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeEqualTo(String value) {
            addCriterion("over_after_time =", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeNotEqualTo(String value) {
            addCriterion("over_after_time <>", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeGreaterThan(String value) {
            addCriterion("over_after_time >", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeGreaterThanOrEqualTo(String value) {
            addCriterion("over_after_time >=", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeLessThan(String value) {
            addCriterion("over_after_time <", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeLessThanOrEqualTo(String value) {
            addCriterion("over_after_time <=", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeLike(String value) {
            addCriterion("over_after_time like", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeNotLike(String value) {
            addCriterion("over_after_time not like", value, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeIn(List<String> values) {
            addCriterion("over_after_time in", values, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeNotIn(List<String> values) {
            addCriterion("over_after_time not in", values, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeBetween(String value1, String value2) {
            addCriterion("over_after_time between", value1, value2, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverAfterTimeNotBetween(String value1, String value2) {
            addCriterion("over_after_time not between", value1, value2, "overAfterTime");
            return (Criteria) this;
        }

        public Criteria andOverDateIsNull() {
            addCriterion("over_date is null");
            return (Criteria) this;
        }

        public Criteria andOverDateIsNotNull() {
            addCriterion("over_date is not null");
            return (Criteria) this;
        }

        public Criteria andOverDateEqualTo(Date value) {
            addCriterionForJDBCDate("over_date =", value, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("over_date <>", value, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateGreaterThan(Date value) {
            addCriterionForJDBCDate("over_date >", value, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("over_date >=", value, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateLessThan(Date value) {
            addCriterionForJDBCDate("over_date <", value, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("over_date <=", value, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateIn(List<Date> values) {
            addCriterionForJDBCDate("over_date in", values, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("over_date not in", values, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("over_date between", value1, value2, "overDate");
            return (Criteria) this;
        }

        public Criteria andOverDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("over_date not between", value1, value2, "overDate");
            return (Criteria) this;
        }

        public Criteria andMailNameIsNull() {
            addCriterion("mail_name is null");
            return (Criteria) this;
        }

        public Criteria andMailNameIsNotNull() {
            addCriterion("mail_name is not null");
            return (Criteria) this;
        }

        public Criteria andMailNameEqualTo(String value) {
            addCriterion("mail_name =", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameNotEqualTo(String value) {
            addCriterion("mail_name <>", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameGreaterThan(String value) {
            addCriterion("mail_name >", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameGreaterThanOrEqualTo(String value) {
            addCriterion("mail_name >=", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameLessThan(String value) {
            addCriterion("mail_name <", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameLessThanOrEqualTo(String value) {
            addCriterion("mail_name <=", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameLike(String value) {
            addCriterion("mail_name like", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameNotLike(String value) {
            addCriterion("mail_name not like", value, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameIn(List<String> values) {
            addCriterion("mail_name in", values, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameNotIn(List<String> values) {
            addCriterion("mail_name not in", values, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameBetween(String value1, String value2) {
            addCriterion("mail_name between", value1, value2, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailNameNotBetween(String value1, String value2) {
            addCriterion("mail_name not between", value1, value2, "mailName");
            return (Criteria) this;
        }

        public Criteria andMailPasswordIsNull() {
            addCriterion("mail_password is null");
            return (Criteria) this;
        }

        public Criteria andMailPasswordIsNotNull() {
            addCriterion("mail_password is not null");
            return (Criteria) this;
        }

        public Criteria andMailPasswordEqualTo(String value) {
            addCriterion("mail_password =", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordNotEqualTo(String value) {
            addCriterion("mail_password <>", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordGreaterThan(String value) {
            addCriterion("mail_password >", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("mail_password >=", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordLessThan(String value) {
            addCriterion("mail_password <", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordLessThanOrEqualTo(String value) {
            addCriterion("mail_password <=", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordLike(String value) {
            addCriterion("mail_password like", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordNotLike(String value) {
            addCriterion("mail_password not like", value, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordIn(List<String> values) {
            addCriterion("mail_password in", values, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordNotIn(List<String> values) {
            addCriterion("mail_password not in", values, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordBetween(String value1, String value2) {
            addCriterion("mail_password between", value1, value2, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailPasswordNotBetween(String value1, String value2) {
            addCriterion("mail_password not between", value1, value2, "mailPassword");
            return (Criteria) this;
        }

        public Criteria andMailServerIsNull() {
            addCriterion("mail_server is null");
            return (Criteria) this;
        }

        public Criteria andMailServerIsNotNull() {
            addCriterion("mail_server is not null");
            return (Criteria) this;
        }

        public Criteria andMailServerEqualTo(String value) {
            addCriterion("mail_server =", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerNotEqualTo(String value) {
            addCriterion("mail_server <>", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerGreaterThan(String value) {
            addCriterion("mail_server >", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerGreaterThanOrEqualTo(String value) {
            addCriterion("mail_server >=", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerLessThan(String value) {
            addCriterion("mail_server <", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerLessThanOrEqualTo(String value) {
            addCriterion("mail_server <=", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerLike(String value) {
            addCriterion("mail_server like", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerNotLike(String value) {
            addCriterion("mail_server not like", value, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerIn(List<String> values) {
            addCriterion("mail_server in", values, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerNotIn(List<String> values) {
            addCriterion("mail_server not in", values, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerBetween(String value1, String value2) {
            addCriterion("mail_server between", value1, value2, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerNotBetween(String value1, String value2) {
            addCriterion("mail_server not between", value1, value2, "mailServer");
            return (Criteria) this;
        }

        public Criteria andMailServerPortIsNull() {
            addCriterion("mail_server_port is null");
            return (Criteria) this;
        }

        public Criteria andMailServerPortIsNotNull() {
            addCriterion("mail_server_port is not null");
            return (Criteria) this;
        }

        public Criteria andMailServerPortEqualTo(String value) {
            addCriterion("mail_server_port =", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortNotEqualTo(String value) {
            addCriterion("mail_server_port <>", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortGreaterThan(String value) {
            addCriterion("mail_server_port >", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortGreaterThanOrEqualTo(String value) {
            addCriterion("mail_server_port >=", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortLessThan(String value) {
            addCriterion("mail_server_port <", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortLessThanOrEqualTo(String value) {
            addCriterion("mail_server_port <=", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortLike(String value) {
            addCriterion("mail_server_port like", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortNotLike(String value) {
            addCriterion("mail_server_port not like", value, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortIn(List<String> values) {
            addCriterion("mail_server_port in", values, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortNotIn(List<String> values) {
            addCriterion("mail_server_port not in", values, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortBetween(String value1, String value2) {
            addCriterion("mail_server_port between", value1, value2, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailServerPortNotBetween(String value1, String value2) {
            addCriterion("mail_server_port not between", value1, value2, "mailServerPort");
            return (Criteria) this;
        }

        public Criteria andMailReceiveIsNull() {
            addCriterion("mail_receive is null");
            return (Criteria) this;
        }

        public Criteria andMailReceiveIsNotNull() {
            addCriterion("mail_receive is not null");
            return (Criteria) this;
        }

        public Criteria andMailReceiveEqualTo(String value) {
            addCriterion("mail_receive =", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveNotEqualTo(String value) {
            addCriterion("mail_receive <>", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveGreaterThan(String value) {
            addCriterion("mail_receive >", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveGreaterThanOrEqualTo(String value) {
            addCriterion("mail_receive >=", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveLessThan(String value) {
            addCriterion("mail_receive <", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveLessThanOrEqualTo(String value) {
            addCriterion("mail_receive <=", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveLike(String value) {
            addCriterion("mail_receive like", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveNotLike(String value) {
            addCriterion("mail_receive not like", value, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveIn(List<String> values) {
            addCriterion("mail_receive in", values, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveNotIn(List<String> values) {
            addCriterion("mail_receive not in", values, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveBetween(String value1, String value2) {
            addCriterion("mail_receive between", value1, value2, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andMailReceiveNotBetween(String value1, String value2) {
            addCriterion("mail_receive not between", value1, value2, "mailReceive");
            return (Criteria) this;
        }

        public Criteria andIsMailIsNull() {
            addCriterion("is_mail is null");
            return (Criteria) this;
        }

        public Criteria andIsMailIsNotNull() {
            addCriterion("is_mail is not null");
            return (Criteria) this;
        }

        public Criteria andIsMailEqualTo(Integer value) {
            addCriterion("is_mail =", value, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailNotEqualTo(Integer value) {
            addCriterion("is_mail <>", value, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailGreaterThan(Integer value) {
            addCriterion("is_mail >", value, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_mail >=", value, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailLessThan(Integer value) {
            addCriterion("is_mail <", value, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailLessThanOrEqualTo(Integer value) {
            addCriterion("is_mail <=", value, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailIn(List<Integer> values) {
            addCriterion("is_mail in", values, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailNotIn(List<Integer> values) {
            addCriterion("is_mail not in", values, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailBetween(Integer value1, Integer value2) {
            addCriterion("is_mail between", value1, value2, "isMail");
            return (Criteria) this;
        }

        public Criteria andIsMailNotBetween(Integer value1, Integer value2) {
            addCriterion("is_mail not between", value1, value2, "isMail");
            return (Criteria) this;
        }

        public Criteria andTokenDateIsNull() {
            addCriterion("token_date is null");
            return (Criteria) this;
        }

        public Criteria andTokenDateIsNotNull() {
            addCriterion("token_date is not null");
            return (Criteria) this;
        }

        public Criteria andTokenDateEqualTo(String value) {
            addCriterion("token_date =", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateNotEqualTo(String value) {
            addCriterion("token_date <>", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateGreaterThan(String value) {
            addCriterion("token_date >", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateGreaterThanOrEqualTo(String value) {
            addCriterion("token_date >=", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateLessThan(String value) {
            addCriterion("token_date <", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateLessThanOrEqualTo(String value) {
            addCriterion("token_date <=", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateLike(String value) {
            addCriterion("token_date like", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateNotLike(String value) {
            addCriterion("token_date not like", value, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateIn(List<String> values) {
            addCriterion("token_date in", values, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateNotIn(List<String> values) {
            addCriterion("token_date not in", values, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateBetween(String value1, String value2) {
            addCriterion("token_date between", value1, value2, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenDateNotBetween(String value1, String value2) {
            addCriterion("token_date not between", value1, value2, "tokenDate");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampIsNull() {
            addCriterion("token_timestamp is null");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampIsNotNull() {
            addCriterion("token_timestamp is not null");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampEqualTo(String value) {
            addCriterion("token_timestamp =", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampNotEqualTo(String value) {
            addCriterion("token_timestamp <>", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampGreaterThan(String value) {
            addCriterion("token_timestamp >", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampGreaterThanOrEqualTo(String value) {
            addCriterion("token_timestamp >=", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampLessThan(String value) {
            addCriterion("token_timestamp <", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampLessThanOrEqualTo(String value) {
            addCriterion("token_timestamp <=", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampLike(String value) {
            addCriterion("token_timestamp like", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampNotLike(String value) {
            addCriterion("token_timestamp not like", value, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampIn(List<String> values) {
            addCriterion("token_timestamp in", values, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampNotIn(List<String> values) {
            addCriterion("token_timestamp not in", values, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampBetween(String value1, String value2) {
            addCriterion("token_timestamp between", value1, value2, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenTimestampNotBetween(String value1, String value2) {
            addCriterion("token_timestamp not between", value1, value2, "tokenTimestamp");
            return (Criteria) this;
        }

        public Criteria andTokenAccessIsNull() {
            addCriterion("token_access is null");
            return (Criteria) this;
        }

        public Criteria andTokenAccessIsNotNull() {
            addCriterion("token_access is not null");
            return (Criteria) this;
        }

        public Criteria andTokenAccessEqualTo(String value) {
            addCriterion("token_access =", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessNotEqualTo(String value) {
            addCriterion("token_access <>", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessGreaterThan(String value) {
            addCriterion("token_access >", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessGreaterThanOrEqualTo(String value) {
            addCriterion("token_access >=", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessLessThan(String value) {
            addCriterion("token_access <", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessLessThanOrEqualTo(String value) {
            addCriterion("token_access <=", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessLike(String value) {
            addCriterion("token_access like", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessNotLike(String value) {
            addCriterion("token_access not like", value, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessIn(List<String> values) {
            addCriterion("token_access in", values, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessNotIn(List<String> values) {
            addCriterion("token_access not in", values, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessBetween(String value1, String value2) {
            addCriterion("token_access between", value1, value2, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenAccessNotBetween(String value1, String value2) {
            addCriterion("token_access not between", value1, value2, "tokenAccess");
            return (Criteria) this;
        }

        public Criteria andTokenCountIsNull() {
            addCriterion("token_count is null");
            return (Criteria) this;
        }

        public Criteria andTokenCountIsNotNull() {
            addCriterion("token_count is not null");
            return (Criteria) this;
        }

        public Criteria andTokenCountEqualTo(Integer value) {
            addCriterion("token_count =", value, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountNotEqualTo(Integer value) {
            addCriterion("token_count <>", value, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountGreaterThan(Integer value) {
            addCriterion("token_count >", value, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("token_count >=", value, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountLessThan(Integer value) {
            addCriterion("token_count <", value, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountLessThanOrEqualTo(Integer value) {
            addCriterion("token_count <=", value, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountIn(List<Integer> values) {
            addCriterion("token_count in", values, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountNotIn(List<Integer> values) {
            addCriterion("token_count not in", values, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountBetween(Integer value1, Integer value2) {
            addCriterion("token_count between", value1, value2, "tokenCount");
            return (Criteria) this;
        }

        public Criteria andTokenCountNotBetween(Integer value1, Integer value2) {
            addCriterion("token_count not between", value1, value2, "tokenCount");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}